The present invention relates to the management of timer objects in an event driven data processing system.
Many data processing activities, such as transaction processing, are caused to progress by means of predefined events which trigger actions in the system. The more complex the system becomes, the greater is the number of events which have to be handled.
A very common type of event is a timer event which occurs at a predetermined absolute time or at the end of a predetermined interval. Such events must be defined to the system as timer objects which specify, directly or indirectly, the time at which the associated event is "fired". This time is also an expiry time for the event, after which the associated timer object should be deleted from storage.
One type of system in which an enormous number of timer objects may be required to define times from a few seconds to many months is in the processing of long-running business transactions. These may, for example, deal with the processing of an order and the manufacture, dispatching, invoicing and receipting for a product or service. In the service case, different aspects may be required from different providers, as in the case of a travel agency service, and the providers may respond at very different rates.
If the number of timer objects is large, it may become impractical to hold them all in main memory, because of memory size restrictions. Also, there may be restrictions on the range of times and dates which can be processed in main memory.